package aftersale

////////////////////////////////////////////////////////////////////////////////
// RFD 退款类型（获取退款列表）
type RFD string

const (
	RFD01 RFD = "1" // 全部
	RFD02 RFD = "2" // 用户申请退款，待商家处理 == order.SS16
	RFD05 RFD = "5" // 退款成功 == order.SS21
)

////////////////////////////////////////////////////////////////////////////////
// RSR 退款类型
type RSR string

const (
	RSR01 RSR = "1" // 同意退款		确认收货并退款
	RSR02 RSR = "2" // 不同意退款	拒绝
)

////////////////////////////////////////////////////////////////////////////////
// ASA 已发货 退款类型
type ASA string

const (

	// ASA01 全部
	ASA01 ASA = "1" // 全部

	// ASA02 待商家处理
	// order.SS06 退货申请待商家处理
	// order.SS30 仅退款申请待商家处理
	ASA02 ASA = "2"

	// ASA03 待商家收货
	// order.SS11 买家已退货，待商家收货
	ASA03 ASA = "3"

	// ASA04 待客服仲裁
	// order.SS08 商家拒绝退货申请，待客服仲裁
	// order.SS13 商家拒绝收货，待客服仲裁
	// order.SS34 商家拒绝仅退款申请，待客服仲裁
	ASA04 ASA = "4"

	// ASA05 退款成功
	// order.SS22 在线支付订单，退货退款成功
	// order.SS24 货到付款订单，退货退款成功
	// order.SS39 仅退款成功
	ASA05 ASA = "5"

	// ASA06 售后关闭
	// order.SS09 退货关闭
	// order.SS37 仅退款关闭
	ASA06 ASA = "6"

	// ASA07 待买家退货
	// order.SS07 & order.SS10 待买家填写退货物流
	ASA07 ASA = "7"
)

////////////////////////////////////////////////////////////////////////////////
// Comm 拒绝退款的原因
type Comm string

const (
	C01 Comm = "1" // 未收到货（未填写退货单号）
	C02 Comm = "2" // 退货与原订单不符（商品不符、退货地址不符）
	C03 Comm = "3" // 退回商品影响二次销售', '订单超出售后时效（订单完成超7天）
	C04 Comm = "4" // 买家误操作/取消申请
	C05 Comm = "5" // 已与买家协商补偿，包括差价、赠品、额外补偿
	C06 Comm = "6" // 已与买家协商补发商品', '已与买家协商换货
)

////////////////////////////////////////////////////////////////////////////////
// CommX 商家拒绝退款
type CommX string

const (
	CX01 CommX = "1" // 商品退回后才能退款
	CX02 CommX = "2" // 买家已签收
	CX03 CommX = "3" // 买家误操作/取消申请
	CX04 CommX = "4" // 问题已解决，待用户收货
	CX05 CommX = "5" // 协商一致，用户取消退款
	CX06 CommX = "6" // 商品影响二次销售
	CX07 CommX = "7" // 三方卡券订单，卡券状态变更，退款失败，请重新申请
)

// CommXEvidence 对应的是否须要上传凭证
var CommXEvidence = map[CommX]bool{
	CX01: true,
	CX02: true,
	CX03: false,
	CX04: false,
	CX05: false,
	CX06: true,
	CX07: false,
}

////////////////////////////////////////////////////////////////////////////////
// ASS 售后单状态
type ASS uint8

const (
	ASS06 ASS = 6  // 待商家处理
	ASS07 ASS = 7  // 待买家退货
	ASS11 ASS = 11 // 待商家收货
	ASS12 ASS = 12 // 商家同意退款： 1、发货前退款，商家同意退款 2、发货后仅退款，商家同意退款  3、发货后退货退款，商家确认收货
	ASS27 ASS = 27 // 拒绝售后申请
	ASS28 ASS = 28 // 售后关闭
	ASS29 ASS = 29 // 退货后商家拒绝
)
